home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 1996 April / Software of the Month Club 1996 April.iso / pc / win / edu / profan2 / beispiel.lzh / ADRESS.PRF < prev    next >
Encoding:
Text File  |  1995-07-31  |  7.1 KB  |  227 lines

  1.     Declare End%,Nr%,Nr$,CR$,OK%,CANCEL%,Button%
  2.     Declare LastName$,FirstName$,Address$,City$,Phone$
  3.     Declare LastName%,FirstName%,Address%,City%,Phone%
  4.     DIM$ 999
  5.  
  6.     PopUp "&Address"
  7.         AppendMenu 101,"&Add"
  8.         AppendMenu 104,"&Change"
  9.         AppendMenu 102,"&Search"
  10.         AppendMenu 103,"&List"
  11.         Separator
  12.         AppendMenu 109,"&End"
  13.     AppendMenuBar 130,"&Info"
  14.  
  15.     PROC Info
  16.         @MessageBox("MINI ADDRESS PROGRAM","Info",64)
  17.     ENDPROC
  18.  
  19.     PROC About
  20.         @MessageBox(@Add$(@Add$("MINI ADDRESS PROGRAM",CR$),"Autor: Roland G. Hⁿlsmann"),\
  21.                             "About ...",48)
  22.     ENDPROC    
  23.  
  24.         PROC ShowMask
  25.             Declare End%,D% 
  26.         Let D% = @CreateDialog(%HWnd,"Address:",130,90,250,250)                    
  27.         Let FirstName% = @CreateText(D%,FirstName$,20, 20,200,20)
  28.         Let LastName%    = @CreateText(D%,LastName$,   20, 40,200,20)
  29.         Let Address% = @CreateText(D%,Address$,20, 70,200,20)
  30.         Let City%     = @CreateText(D%,City$,    20,100,200,20)
  31.         Let Phone% = @CreateText(D%,Phone$,20,130,200,20)
  32.         Let OK%      = @CreateDefButton(D%,"&OK", 100,170, 50,30)
  33.         @SetFocus(OK%)
  34.         WaitInput
  35.         @DestroyWindow(D%)
  36.         ENDPROC
  37.  
  38.         PROC ChangeMask
  39.                 Parameters X%
  40.         Declare Title$
  41.             Declare E%,D% 
  42.         If X%
  43.             Let Title$ = "Change address"
  44.         Else
  45.             Let Title$ = "Add address"
  46.             Let LastName$ = ""
  47.             Let FirstName$ = ""
  48.             Let Address$ = ""
  49.             Let City$ = ""
  50.             Let Phone$ = ""
  51.         EndIf
  52.         Let D% = @CreateDialog(%HWnd,Title$,130,90,310,250)                    
  53.                        @CreateText(D%,"First name:",20, 15,200,25)
  54.                        @CreateText(D%,"Last name:",   20, 40,200,25)
  55.                        @CreateText(D%,"Address:", 20, 70,200,25)
  56.                        @CreateText(D%,"City:",    20,100,200,25)
  57.                        @CreateText(D%,"Phone:",20,130,200,25)
  58.         Let FirstName% = @CreateEdit(D%,FirstName$  ,90, 15,200,25)
  59.         Let LastName%    = @CreateEdit(D%,LastName$,     90, 40,200,25)
  60.         Let Address% = @CreateEdit(D%,Address$,  90, 70,200,25)
  61.         Let City%     = @CreateEdit(D%,City$,      90,100,200,25)
  62.         Let Phone% = @CreateEdit(D%,Phone$,  90,130,200,25)
  63.         Let OK%      = @CreateButton(D%,"&OK",       20,170, 80,30)
  64.         Let CANCEL%  = @CreateButton(D%,"&Cancel", 200,170, 80,30)
  65.         @SetFocus(FirstName%)
  66.         Let E% = 0
  67.         WhileNot E%
  68.               WaitInput
  69.             Case @GetFocus(CANCEL%):Let E% = 1
  70.             If @GetFocus(OK%)
  71.                 Let FirstName$ = @GetText$(FirstName%)
  72.                 Let LastName$    = @GetText$(LastName%)
  73.                 Let Address$ = @GetText$(Address%)
  74.                 Let City$     = @GetText$(City%)
  75.                 Let Phone$ = @GetText$(Phone%)
  76.                 Let Button% = 1
  77.                 Let E% = 1
  78.             ElseIf @GetFocus(CANCEL%)
  79.                 Let Button% = 0
  80.                 Let E% = 1
  81.             EndIf
  82.         Wend
  83.         @DestroyWindow(D%)
  84.         ENDPROC
  85.  
  86.     PROC Show
  87.         Parameters I%
  88.                 Let LastName$    = @ReadIni$("E:\PROFAN2\ADRESS.DAT",@Str$(I%),"LASTNAME")
  89.                 Let FirstName$ = @ReadIni$("E:\PROFAN2\ADRESS.DAT",@Str$(I%),"FIRSTNAME")
  90.                 Let Address$ = @ReadIni$("E:\PROFAN2\ADRESS.DAT",@Str$(I%),"ADDRESS")
  91.                 Let City$     = @ReadIni$("E:\PROFAN2\ADRESS.DAT",@Str$(I%),"CITY_ZIP")
  92.                 Let Phone$ = @ReadIni$("E:\PROFAN2\ADRESS.DAT",@Str$(I%),"PHONE")
  93.                 ShowMask
  94.     ENDPROC
  95.  
  96.     PROC Add
  97.         Let Nr$=@ReadIni$("E:\PROFAN2\ADRESS.DAT","Header","Number")
  98.         Let Nr% = @Val(Nr$)
  99.         ChangeMask 0
  100.         If @Equ(Button%,1)
  101.             WriteIni "E:\PROFAN2\ADRESS.DAT",@Str$(Nr%),"LASTNAME"   =LastName$
  102.             WriteIni "E:\PROFAN2\ADRESS.DAT",@Str$(Nr%),"FIRSTNAME"=FirstName$
  103.             WriteIni "E:\PROFAN2\ADRESS.DAT",@Str$(Nr%),"ADDRESS"=Address$
  104.             WriteIni "E:\PROFAN2\ADRESS.DAT",@Str$(Nr%),"CITY_ZIP"=City$
  105.             WriteIni "E:\PROFAN2\ADRESS.DAT",@Str$(Nr%),"PHONE"=Phone$
  106.             Inc Nr%
  107.             WriteIni "E:\PROFAN2\ADRESS.DAT","Header","Number"=@Str$(Nr%)
  108.         EndIf
  109.     ENDPROC
  110.  
  111.     PROC Liste
  112.         Declare I%,T$, N$, V$
  113.         Let I% = 1
  114.         ClearList
  115.         While @NEQ(I%,Nr%)
  116.             Let T$ = @Add$("                       #",@Str$(I%))
  117.                         Let N$ = @ReadIni$("E:\PROFAN2\ADRESS.DAT",@Str$(I%),"NAME")
  118.                         Let V$ = @ReadIni$("E:\PROFAN2\ADRESS.DAT",@Str$(I%),"VORNAME")
  119.             AddString @Add$( @Add$( @Add$( N$,", "), V$), T$)
  120.             Inc I%
  121.         Wend    
  122.         Let T$ = @ListBox$("Names",0)
  123.         If @NEQ$(T$,"")
  124.             Let I% = @Instr("#",T$)
  125.             Let I% = @Val(@Mid$(T$,@Add(I%,1),255)
  126.             Show I%
  127.         EndIf
  128.     ENDPROC
  129.         
  130.     PROC Change
  131.         Declare I%,T$,N$,V$
  132.         Let I% = 1
  133.         ClearList
  134.         While @NEQ(I%,Nr%)
  135.             Let T$ = @Add$("                       #",@Str$(I%))
  136.                         Let N$ = @ReadIni$("E:\PROFAN2\ADRESS.DAT",@Str$(I%),"NAME")
  137.                         Let V$ = @ReadIni$("E:\PROFAN2\ADRESS.DAT",@Str$(I%),"VORNAME")
  138.             AddString @Add$( @Add$( @Add$( N$,", "), V$), T$)
  139.             Inc I%
  140.         Wend    
  141.         Let T$ = @ListBox$("Names",0)
  142.         If @NEQ$(T$,"")
  143.             Let I% = @Instr("#",T$)
  144.             Let I% = @Val(@Mid$(T$,@Add(I%,1),255)
  145.                     Let LastName$    = @ReadIni$("E:\PROFAN2\ADRESS.DAT",@Str$(I%),"LASTNAME")
  146.                     Let FirstName$ = @ReadIni$("E:\PROFAN2\ADRESS.DAT",@Str$(I%),"FIRSTNAME")
  147.                     Let Address$ = @ReadIni$("E:\PROFAN2\ADRESS.DAT",@Str$(I%),"ADDRESS")
  148.                     Let City$     = @ReadIni$("E:\PROFAN2\ADRESS.DAT",@Str$(I%),"CITY_ZIP")
  149.                     Let Phone$ = @ReadIni$("E:\PROFAN2\ADRESS.DAT",@Str$(I%),"PHONE")
  150.             ChangeMask 1
  151.             If @Equ(Button%,1)
  152.                 WriteIni "E:\PROFAN2\ADRESS.DAT",@Str$(I%),"LASTNAME"   =LastName$
  153.                 WriteIni "E:\PROFAN2\ADRESS.DAT",@Str$(I%),"FIRSTNAME"=FirstName$
  154.                 WriteIni "E:\PROFAN2\ADRESS.DAT",@Str$(I%),"ADDRESS"=Address$
  155.                 WriteIni "E:\PROFAN2\ADRESS.DAT",@Str$(I%),"CITY_ZIP"=City$
  156.                 WriteIni "E:\PROFAN2\ADRESS.DAT",@Str$(I%),"PHONE"=Phone$
  157.             EndIf
  158.         EndIf
  159.     ENDPROC
  160.         
  161.     PROC Search
  162.         Declare Search$,T$,X$,I%,Gef%
  163.         Let Search$=@Input$("Enter name (or part of name):","Search address:","")
  164.         Let I% = 1
  165.         Let Gef% = 0
  166.         ClearList
  167.         While @NEQ(I%,Nr%)
  168.             Let T$ = @Add$("                       #",@Str$(I%))
  169.             Let LastName$ = @ReadIni$("E:\PROFAN2\ADRESS.DAT",@Str$(I%),"LASTNAME")
  170.             If @Instr(@Upper$(Search$),@Upper$(LastName$)) Then
  171.                                 Let X$ = @ReadIni$("E:\PROFAN2\ADRESS.DAT",@Str$(I%),"FIRSTNAME")
  172.                 AddString @Add$( @Add$( @Add$( LastName$,", "), X$), T$)
  173.                 Inc Gef%
  174.             EndIf
  175.             Inc I%
  176.         Wend    
  177.         If @GT(Gef%,1)
  178.             Let T$ = @ListBox$("Names",0)
  179.             If @NEQ$(T$,"")
  180.                 Let I% = @Instr("#",T$)
  181.                 Let I% = @Val(@Mid$(T$,@Add(I%,1),255)
  182.                 Show I%
  183.             EndIf
  184.         ElseIf @Equ(Gef%,1)
  185.             Let T$ = @ListBoxItem$(0)
  186.             Let I% = @Instr("#",T$)
  187.             Let I% = @Val(@Mid$(T$,@Add(I%,1),255)
  188.             Show I%
  189.         Else
  190.             @MessageBox("Address not found!","Note:",64)
  191.         EndIf
  192.     ENDPROC
  193.         
  194.  
  195. 'MAINPROGRAM
  196. '-------------
  197.  
  198.     WindowTitle "MINI ADDRESS PROGRAM"
  199.     Cls
  200.     Let CR$ = @Chr$(13)
  201.         Let Nr$ = @ReadIni$("E:\PROFAN2\ADRESS.DAT","Header","Number")
  202.     Let Nr% = @Val(Nr$)
  203.     If @Equ(Nr%,0)
  204.         WriteIni "E:\PROFAN2\ADRESS.DAT","Header","Number"="1"
  205.     EndIf
  206.     Let End% = 0
  207.     WhileNot End%
  208.          WaitInput
  209.         If @MenuItem(109)
  210.             Let End% = 1
  211.         ElseIf @MenuItem(130)
  212.             Info
  213.         ElseIf @MenuItem(254)
  214.             About
  215.         ElseIf @MenuItem(101)
  216.             Add
  217.         ElseIf @MenuItem(102)
  218.             Search
  219.         ElseIf @MenuItem(103)
  220.             List
  221.         ElseIf @MenuItem(104)
  222.             Change
  223.         EndIf
  224.     Wend
  225.     End
  226.  
  227.